Diese Funktion überprüft zwei LREAL-Zahlen auf ihre Gleichheit über eine Näherungsformel und eine Konstante Präzision von 1.0E-12 (pico)
| LGF_CompareLReal (FC) | ||||||||
|---|---|---|---|---|---|---|---|---|
| LReal | valueA | Ret_Val | Bool | |||||
| LReal | valueB | |||||||
| Bezeichner | Datentyp | Beschreibung |
|---|---|---|
| valueA | LReal | Erste LREAL-Zahl, die verglichen werden soll. |
| valueB | LReal | Zweite LREAL-Zahl, die verglichen werden soll. |
| Bezeichner | Datentyp | Beschreibung |
|---|---|---|
| Ret_Val | Bool | FALSE: ungleich TRUE: näherungsweise gleich |
Der Vergleich der LREAL-Zahlen basiert auf einer festen Genauigkeit von 1.0E-12. Die Differenz der beiden Eingangswerte muss kleiner sein als die Genauigkeit PRECISION multipliziert mit einem der beiden Eingangswerte.
Gleichung:
#LGF_CompareLReal := FALSE OR ((#valueA = 0.0) AND (ABS(#valueB) <= #PRECISION)) OR ((#valueB = 0.0) AND (ABS(#valueA) <= #PRECISION)) OR (ABS(#valueA - #valueB) <= (#PRECISION * ABS(#valueA)));LGF_CompareLRealByPrecision.| Version & Datum | Änderungsbeschreibung | |
|---|---|---|
| 1.0.0 | Siemens Industry Online Support | |
| 13.01.2017 | First released version | |
| 1.0.1 | Siemens Industry Online Support | |
| 17.08.2018 | Upgrade: TIA V15 Update 2 | |
| 1.0.2 | Siemens Industry Online Support | |
| 23.11.2018 | Upgrade: TIA V15.1 | |
| 1.0.3 | Simatic Systems Support | |
| 03.06.2019 | Refactoring and performance improvment Delete Error and Status there is no need for, because of changed / adjusted algorithm add eno handling | |
| 3.0.0 | Simatic Systems Support | |
| 23.04.2020 | Set version to V3.0.0, harmonize the version of the whole library | |
| 3.0.1 | Simatic Systems Support | |
| 19.01.2020 | Insert documentation | |
| 3.0.2 | Simatic Systems Support | |
| 21.12.2023 | Fix compare error if one value is exactly zero | |